﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Windows.Forms;

namespace FrbaCommerce.AccessData
{
    class adVisibilidad
    {
        public static void buscarListaVisibilidades(Gets_and_Sets.Visibilidad_getset List, DataGridView dgv1)
        {
            SqlConnection conn = Program.obtenerConexion();
            SqlCommand cmd = new SqlCommand("SELECT * FROM [GD1C2014].[Monkey_Coders].[Visibilidades]", conn);

            Codigo_reutilizable.FuncionesBaseDatos.CompletarDataGrid(dgv1, conn, cmd);

        }


        public static void ActualizarVisibilidadEliminada(int visibilidadAEliminar)
        {
            int retorno;
            using (SqlConnection conn = Program.obtenerConexion())
            {
                SqlCommand cmd = Codigo_reutilizable.FuncionesBaseDatos.crearProcedure("GD1C2014.dbo.bajaVisibilidad", conn,
                new SqlParameter("@Id", visibilidadAEliminar));


                retorno = cmd.ExecuteNonQuery();
                conn.Close();
            }
            Codigo_reutilizable.Resultado.validar(retorno, "Visibilidad eliminada");

        }

        public static Gets_and_Sets.Visibilidad_getset obtenerVisibilidad(Int32 visId)
        {
            Gets_and_Sets.Visibilidad_getset visibilidad = new Gets_and_Sets.Visibilidad_getset();


            SqlConnection conn = Program.obtenerConexion();
            SqlCommand cmd = Codigo_reutilizable.FuncionesBaseDatos.crearProcedure("GD1C2014.dbo.obtenerVisibilidad", conn,
            new SqlParameter("@Id", visId));

            SqlDataReader lectura = cmd.ExecuteReader();
            while (lectura.Read())
            {
                visibilidad.Cod = Convert.ToInt32(lectura.GetValue(0));
                visibilidad.Descripcion = Convert.ToString(lectura.GetValue(1));
                visibilidad.Precio = lectura.GetDecimal(2);
                visibilidad.Porc_comision = Convert.ToDecimal(lectura.GetValue(3));
                visibilidad.Duracion = Convert.ToInt32(lectura.GetValue(4));
            }

            conn.Close();
            return visibilidad;
        }




        public static void actualizarVisibilidad(Gets_and_Sets.Visibilidad_getset Vis, int visAModificar)
        {
            int retorno;
            using (SqlConnection conn = Program.obtenerConexion())
            {
                SqlCommand cmd = Codigo_reutilizable.FuncionesBaseDatos.crearProcedure("GD1C2014.dbo.actualizarVisibilidad", conn,
                new SqlParameter("@Id", visAModificar),
                new SqlParameter("@Descripcion", Vis.Descripcion),
                new SqlParameter("@Precio", Vis.Precio),
                new SqlParameter("@Porc_comision", Vis.Porc_comision),
                new SqlParameter("@Duracion", Vis.Duracion));

                retorno = cmd.ExecuteNonQuery();
                conn.Close();
            }

            Codigo_reutilizable.Resultado.validar(retorno, "Visibilidad de publicacion: "+visAModificar+" Actualizada");

        }


    }
}